This page last changed on Jan 22, 2009 by kgomes.

createDuplicateDeepDeployment
Background

The purpose of this service was to have a way to make copies of deployments in SSDS. Often times we want to duplicate an instance of a deployment, but we want to copy all of its sub-deployment children as well, hence the "deep" part of the copy. This method takes in a <code>DataProducer</code> that must be of type "deployment" and then creates "deep" copy of it and persists the new copy. It pulls in the options specified in the incoming parameters to create a unique copy of the DataProducers and DataContainer (outputs). All the rest of the object should be linked to the ones that already exist in the peristent storage. The new ID of the duplicate deployment is returned.

The Interface
Return Parameters
The ID of the newly generated deployment
  • DataProducer to Copy
  • Date the copy should start at
  • A boolean to indicate if the old (original) should be closed
  • Date the old (original) should use as an end date (if to be closed)
  • String that will be the name of the new deployment (copy)
  • String that is the base of the data stream URI which should be
    http://new-ssds.mbari.org/servlet/GetOriginalDataServlet

So the API interface looks something like:

createDuplicateDeepDeployment
public Long createDuplicateDeepDeployment(
        DataProducer deploymentToCopy,          // DataProducer to copy
        Date newStartDate,                      // Date to start copied DataProducer on
        boolean closeOld,                       // Whether or not old (original) should be closed
        Date oldEndDate,                        // Date to use for end date if original is closed
        String newHeadDeploymentName,           // Name of the new DataProducer (copy)
        String baseDataStreamUri                // Base URI for raw data access (http://new-ssds.mbari.org/servlet/GetOriginalDataServlet)
)
Java EJB client

Under construction

REST Style client

To use this service via HTTP (REST Style), the call would be constructed using this format:

REST Style format
http://new-ssds.mbari.org/servlet/MetadataAccessServlet?objectToInvokeOn=DataProducerAccess&method=createDuplicateDeepDeployment
&p1Type=DataProducer&p1Value=DataProducer|id=1938292
&p2Type=Date&p2Value=2008-12-01T00:00:00Z
&p3Type=boolean&p3Value=true
&p4Type=Date&p4Value=2008-11-30T00:00:00Z
&p5Type=String&p5Value=New copy of Deployment
&p6Type=String&p6Value=http://new-ssds.mbari.org/servlet/GetOriginalDataServlet

And the return might looks something like this:

Result(s):
java.lang.Long|29985
Web Services client

Under construction

makePersistent
Background

The purpose of this service is to insert (or update) a DataProducer in the SSDS. If the DataProducer already exists (the equal criteria is by ID and then if no ID specified, it uses the outputs) it will update it, if not it will create a new one.

The Interface
Return Parameters
The ID of the created or updated DataProducer
  • DataProducer to persist

So the API interface looks something like:

createDuplicateDeepDeployment
public Long makePersistent(
    DataProducer dataProducerToPersist         // This is the DataProducer that will be updated or created
)
Java EJB client

Under construction

REST Style client

To use this service via HTTP (REST Style), the call would be constructed using this format:

REST Style format
http://new-ssds.mbari.org/servlet/MetadataAccessServlet?objectToInvokeOn=DataProducerAccess&method=makePersistent
&p1Type=DataProducer&p1Value=DataProducer|name=MUCE - January 2009 test|description=MUCE Test Deployment|dataProducerType=Deployment|startDate=2009-01-10T12:00:00Z

And the return might looks something like this:

Result(s):
java.lang.Long|29991
Web Services client

Under construction

Document generated by Confluence on Feb 04, 2026 08:56